package com.baofu.paycore.dal.mapper;

import com.baofu.paycore.dal.model.RefundStrategyDO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 退款策略信息Mapper
 *
 * User: xin deng  Date: 16/4/21 ProjectName: paycore Version: 1.0
 */
public interface RefundStrategyMapper {

    /**
     * 新增退款策略信息
     *
     * @param refundStrategyDO         新增参数对象
     * @return                           新增记录数
     */
    int insert(RefundStrategyDO refundStrategyDO);

    /**
     * 更新退款策略信息
     *
     * @param refundStrategyDO         更新参数对象
     * @return                           新增记录数
     */
    int update(RefundStrategyDO refundStrategyDO);

    /**
     * 查询退款策略信息
     *
     * @param refundStrategyDO        查询参数对象
     * @return                          退款策略信息
     */
    List<RefundStrategyDO> selectInfo(RefundStrategyDO refundStrategyDO);

    /**
     * 分页查询退款策略信息
     *
     * @param bean                      查询参数对象
     * @param beginPage                 开始页
     * @param pageSize                   每页记录数
     * @return 获取分页记录
     */
    List<RefundStrategyDO> selectInfoByPage(@Param("bean")RefundStrategyDO bean,
                                            @Param("beginPage") int beginPage,
                                            @Param("pageSize") int pageSize);

    /**
     * 查询退款策略信息总数
     *
     * @param bean                     查询参数对象
     * @return                         总数
     */
    int selectInfoCount(@Param("bean")RefundStrategyDO bean);

    /**
     * 删除退款策略信息
     *
     * @param updatedBy                 更新人
     * @param id                        记录Id
     * @return                          删除记录数
     */
    int deleteInfo(@Param("updatedBy")String updatedBy,@Param("id") long id);

    /**
     * 根据id查询退款策略信息
     *
     * @param id    查询参数对象
     * @return      退款策略信息
     */
    RefundStrategyDO selectById(@Param("id") Long id);

}
